<?php
/**
 * Smart Library - Smart Framework
 * http://smart-framework.highet.eu
 *
 * @category   SmartL
 * @package    SmartL_Application
 * @subpackage Config
 * @copyright  Copyright (c) 2005-2008 Smart Framework team - Stepan Sindelar, Vojtech Vit
 * @license    http://www.opensource.org/licenses/bsd-license.php	New BSD License
 */
/**
 * Holds informations about template and its skins.
 * 
 * @todo 23: Předělat podle vzoru "hodnotový typ - proměnná" šabloně se může nastavovat aktuální skin. 
 * 
 * @package SmartL_Application
 * @subpackage Config
 */
class SmartL_Application_Config_TemplateInfo {
	private $_name;
	private $_skins;
	private $_layout;
	private $_defaultSkin;
	
	/**
	 * Returns template name.
	 *
	 * @return string Template name
	 */
	public function getName() {
		return $this->_name;
	}
	/**
	 * Sets template name.
	 *
	 * @param string $value New template name
	 */
	public function setName($value) {
		$this->_name = $value;
	}
	/**
	 * Returns whether template has a layout.
	 *
	 * @return bool True if template has layout, otherwise false
	 */
	public function hasLayout() {
		return $this->_layout;
	}
	/**
	 * Sets whether template has a layout.
	 *
	 * @param bool $value True if template has layout, otherwise false
	 */
	public function setHasLayout($value = true) {
		$this->_layout = $value;
	}
	/**
	 * Returns array of skins avaiable for this template.
	 * 
	 * @return array [numeric] => string Skin name
	 */
	public function getSkins() {
		return $this->_skins;
	}
	/**
	 * Sets skins avaiable for this template.
	 *
	 * @param array $value [numeric] => string Skin name
	 */
	public function setSkins(array $value) {
		$this->_skins = $value;
	}
	/**
	 * Returns template actual skin.
	 * When the template is loaded from configuration, the actual skin is default skin.
	 *
	 * @return string Actual skin name
	 */
	public function getActualSkin() {
		return $this->_defaultSkin;
	}
	/**
	 * Sets template actual skin
	 *
	 * @param string $value New actual skin name
	 */
	public function setActualSkin($value) {
		$this->_defaultSkin = $value;
	}
}